package classesBD;

import aplicacao.funcoes;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Pessoal
 */
public class Mestrado extends Documento{
  private int idMestrado;
  
  @Override
  public int insere(boolean checaExistencia){
    if(checaExistencia){
      idMestrado = existe(super.titulo);
    }
    if(idMestrado == 0){
        try {
            int doc = super.insere(true);
            String[] campos = new String[2];
            campos[0] = "default";
            campos[1] = Integer.toString(doc);
            String query = funcoes.montaInsert("MESTRADO", campos);
            idMestrado = Conexao.executa(query, true);
            Conexao.fecha();
        } catch (SQLException ex) {
            Logger.getLogger(Mestrado.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    return idMestrado;   
    
  } 
  
  @Override
  public String existe(int id) {
    String query = "SELECT D.TITULO FROM DOCUMENTO D JOIN MESTRADO M ON M.IDDOCUMENTO = D.IDDOCUMENTO WHERE IDDOCUMENTO=" + Integer.toString(id);
    String[][] retorno = Conexao.pesquisa(query, 1);
    if (retorno.length > 0){
      return retorno[0][0];
    }else{
      return "";
    }
  }

  @Override
  public int existe(String nome) {
    nome = nome.toLowerCase();
    String query = "SELECT M.IDMESTRADO FROM MESTRADO M JOIN DOCUMENTO D ON D.IDDOCUMENTO = M.IDDOCUMENTO WHERE LOWER(D.TITULO)=" + funcoes.quotedStr(nome);
    String[][] retorno = Conexao.pesquisa(query, 1);
    if (retorno.length > 0){
      return Integer.parseInt(retorno[0][0]);
    }else{
      return 0;
    }
  }
}
